1. Field of the Invention
The invention relates to the transmission of digital data containing packets of data from differing data files and applications; and more particularly to identification of the packets forming a particular data file which is transmitted as a data stream interspersed with packets of data which are part of other data streams, all being transmitted serially over one channel or band.
Modern high capacity transmission techniques make it possible to combine signals for entertainment, such as radio and television programs; auxiliary data associated with a television channel such as closed captioning, menu services and teletext; and data files. The various signals are combined, for example by time-division multiplexing, onto one channel. Most of these signals are not repeated; each receiver looks for synchronizing codes or preambles, for bit clock, byte and frame or packet synchronization, and then starts receiving or processing the signals of interest.
Although the transmitter or transmission medium imposes some standardization constraints on the various information signals or data streams, different data or program materials may differ widely in their information transmission rate or coding techniques. Usually all packets being transmitted over one channel have the same length, and the transmitter bit rate is constant. Differences in the information transmission rate are accommodated by controlling the interval between packets of one signal or data file. However, the invention is equally applicable where bit rates or packet lengths are variable.
Also, because of the very high transmitter bit rate, many receivers cannot decode or use a packet of data as it is being received. Instead, the receiver stores all or part of the packet for decoding or use during the interval before the next packet of this information signal or data file. Therefore it may be necessary to maintain a minimum interval between packets belonging to one file or program. Such a minimum interval, if required, may have any duration, including a duration less than one packet. These different requirements mean that the location of the next packet in a file may not be predictable, and as a result each packet must carry some identification.
Providing and decoding packet identification and synchronizing signals may impose a hearty overhead burden on the system. The burden appears particularly hearty with respect to data files which have a low information rate per unit of time, and therefore transmit only a small amount of data per packet.
Another problem arises in transmission of data files which some or all receivers desirably should be able to receive and process shortly after they start receiving, even though the data file content has not changed since a prior transmission. Such a data file may be, for example, a system channel map with codes and data relating to the bitstream contents.
2. Description of the Prior Art
Identification and synchronization methods or protocols are desirably matched to the basic organization or syntax of the system. In some program delivery systems, all data or information streams in the transmitted bit stream are organized into packets of fixed length. The packet then becomes the basic unit for synchronization and identification above the bit level. In such a system a common practice is to provide full identification in a preamble portion of each packet; or identification codes or addresses are divided into portions, and successive portions are transmitted in successive packets for that file or program. Similar techniques are used for transmission of teletext, for example as described in standard EIA-516, "Joint EIA/CVCC Recommended Practice for Teletext: North American Basic Teletext Specification (May, 1988).
When packets are transmitted with at least a minimum time interval between the successive packets constituting that program or file, synchronization to the desired packets has required either excessive time to complete identification and synchronization, or transmission of a lengthy identification field in the preamble of each packet.
The overhead burden has not been reduced when efficient organization involves dividing a data stream into successive segments, each containing a plurality of packets. Packets of one segment of one data stream may be interleaved with packets of segments of other data streams. The situation becomes even more involved when segments of different data streams have different numbers of packets, and the segments are transmitted with different cycle times, so that a given receiver must treat the identification and synchronization process as though there were a completely random interleaving of segments of the other files or program material with the segments to be selected. Long, specific identification codes have then been required for each packet.
When a data file is transmitted with a cycle time which is shorter than the typical time between changes in the content of the file, such as commonly occurs with directories or channel maps, processing power of the receiver may be diverted from other activities, with a resultant loss of performance, to store and decode a version of a file which has already been received and stored or acted on.
A related technique in the transmission of large data files is described in Bowen, Gopal, Hickey, Lee, Mansfield, Raitz and Weinrib, "The Datacycle Architecture", Communications of the ACM, Dec. 1992, vol. 35, no. 12, pp. 71-81.